home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 2 / Gekikoh Dennoh Club Vol. 2 (Japan).7z / Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin / fsw / zm302 / zm302_s.lzh / ZM_STAT.MAC < prev    next >
Text File  |  1997-08-27  |  10KB  |  251 lines

  1. zmusic_stat:
  2. midi_board:        dc.b    0    *MIDI I/F有効フラグ
  3.                     *d0~d3がそれぞれCZ6BM1 #1,#2,RS232C-MIDI A,Bに対応
  4. available_device:    dc.b    0    *実際に使用するデバイスフラグ(midi_boardと同じ書式)
  5. timer_flg:        dc.b    0    *TIMER ON/OFF(d0:TIMER A,d1:TIMER B,d2:YM3802 TIMER)
  6. b_tma_flg:    equ    0        *(d7はFUNC INTERCEPT_PLAYが有効時にm_playが実行されると
  7. b_tmb_flg:    equ    1        *1に上書きされる。外部アプリ向け専用ワークビット)
  8. b_tmm_flg:    equ    2    
  9.             dc.b    0    *dummy
  10. wk_size:    dc.w    trwk_size    *1トラックワークのサイズ
  11. play_start_time:    dc.l    -1    *演奏開始時刻 (10時23分52秒ならば$00102352,初期値=-1)!
  12. play_stop_time:        dc.l    -1    *演奏停止時刻 (10時23分52秒ならば$00102352,初期値=-1)!
  13. play_cont_time:        dc.l    -1    *演奏再開時刻 (10時23分52秒ならば$00102352,初期値=-1)!
  14. dev_end_adr:        ds.l    1    *ZMSC3.X最終アドレス
  15. t_min:            dc.w    10    *音楽演奏用テンポの最小値    (デフォルト値はMIDI  !!
  16. t_max:            dc.w    32767    *音楽演奏用テンポの最大値    14bitタイマが        !!
  17. t_min_se:        dc.w    20    *効果音演奏用テンポの最小値    採択された時の場合)  !!
  18. t_max_se:        dc.w    5000    *効果音演奏用テンポの最大値                 !!
  19. _@t_max:        dc.w    $3fff    *音楽演奏用タイマ値の最大値
  20. _@t_max_se:        dc.w    $ff    *効果音演奏用タイマ値の最大値
  21. mask_opm_ch:        dc.w    0    *FM音源のマスクチャンネル対応ビット
  22.                     *d0~d7がチャンネル1~8に対応。対応ビット=1:Masked
  23. se_tr_max:        dc.w    0    *効果音の最大トラック数[0]
  24. ext_pcmdrv:        dc.b    0    *外部PCMドライバ([0]:NO 1:組み込まれている)
  25. current_rs232c_part:    dc.b    1    *RS232Cの現在の選択パート
  26.                     *0:PART A,$FF:PART B,[1]:未定義
  27. current_midi_in_r:    dc.w    -1    *カレント相対I/F番号(USERから見た0-3)
  28. current_midi_in_w:    dc.b    -1    *通常は常時0
  29. current_midi_in_b:    dc.b    -1    *カレント絶対I/F番号(内部で使用する(0-3)*2)
  30. current_midi_out_r:    dc.w    -1    *カレント相対I/F番号(USERから見た0-3)
  31. current_midi_out_w:    dc.b    -1    *通常は常時0
  32. current_midi_out_b:    dc.b    -1    *カレント絶対I/F番号(内部で使用する(0-3)*2)
  33. midi_if_tbl:        dcb.b    8+1,-1    *MIDIインターフェースの使用設定
  34.                     *(0:CZ6BM1-1,2:CZ6BM1-2,4:RS232C-A,6:RS232C-B,-1:なし)
  35.                     *未使用IFも$80+(0,2,4,6)として格納されている
  36. ch_wk_mode:        dc.b    -1    *チャンネルワークの使用状態
  37.                     *-1=全部(DEFAULT),0=FM無し(通常禁止)
  38.                     *1=MIDI無し,2=全部無し(通常禁止)
  39. gs_id:        dc.b    $10,$10,$10,$10    *DEVICE IDデフォルト値
  40.         ds.b    4        *Reserved
  41. sc88_id:    dc.b    $10,$10,$10,$10
  42.         ds.b    4        *Reserved
  43. mt32_id:    dc.b    $10,$10,$10,$10    *
  44.         ds.b    4        *Reserved
  45. u220_id:    dc.b    $10,$10,$10,$10    *
  46.         ds.b    4        *Reserved
  47. m1_id:        dc.b    $30,$30,$30,$30    *
  48.         ds.b    4        *Reserved
  49. adpcm_frq:    dc.b    0        *ADPCM周波数                    !!
  50. adpcm_pan:    dc.b    0        *ADPCMパンポット                !!
  51. adpb_clr:    dc.b    0        *ADPCMバッファ初期化有無フラグ(0以外=要初期化)    !!
  52. wvmm_clr:    dc.b    0        *波形メモリバッファ初期化有無フラグ(0以外=要初期化)!!
  53.  
  54. meter:        dc.w    $0404        *拍子                    ##
  55. metronome:    dc.b    0        *Reserve                ##
  56.         dc.b    0        *Reserve                ##
  57. key:        dc.w    0        *調号                    ##
  58. mst_clk:    dc.w    192        *全音符の絶対音長カウント        ##
  59. tempo_value:    dc.w    120        *テンポ値(DEFAULT=120)            ##順番変更禁止
  60. timer_value:    dc.w    0        *タイマの値                ##
  61.  
  62. meter_se:    dc.w    $0404        *拍子(効果音サイド)            !!
  63. metronome_se:    dc.b    0        *Reserved                !!
  64.         dc.b    0        *Reserved                !!
  65. key_se:        dc.w    0        *調号                    !!
  66. mst_clk_se:    dc.w    192        *全音符の絶対音長カウント(効果音サイド)    !!
  67. tempo_value_se    dc.w    120        *テンポ値(DEFAULT=120)            !!順番変更禁止
  68. timer_value_se:    dc.w    0        *タイマの値                !!
  69. eox_w:        dcb.w    8,3        *EOXウェイト(DEFAULT=3)
  70. se_mode:    dc.b    0        *ADPCMの効果音モードか(0=NO,0以外=YES)
  71. fader_flag:    dc.b    0        *現在実行中のフェーダー
  72.                     *(d7:マスターフェーダー,d6:チャンネルフェーダー)
  73.                     *実行中のフェーダーに対応したビット=1で
  74.                     *そのフェーダーが可動中
  75. fnc_no:        dc.w    $7fff        *最後に実行した(あるいは現在実行中の)ファンクション番号
  76. sr_type:    dc.w    $2500        *SRをマスクする際のデフォルト値(普通は書き変わる)
  77. sp_buf:        dc.l    0        *ファンクション実行時のスタック保存ワーク
  78. fnc_quit_addr:    dc.l    0        *緊急帰還アドレス(エラーが発生した場合の脱出アドレス)
  79. opmset_bsr_ms:    dc.l    0        *FM音源アクセスルーチンアドレス(通常:opmset,効果音MODE:opmset_se)
  80. timer_mode:    dc.b    0        *どのタイマーを使うか
  81.                     *タイマA:-1,タイマB:0,YM3802タイマ:1,$f8-In:2
  82. synchro_mode:    dc.b    0        *外部同期モードか(0=NO,$FF=YES)
  83. polypress_mode:    dc.b    -1        *ポリフォニックプレッシャーモード([-1]:ON,0=NO)
  84. no_init_mode:    dc.b    0        *初期化無しモードか([0]=NO,0以外=YES)
  85. zmusic_int:    dc.l    0        *ZMUSICが割り込むとインクリメントされる
  86. last_zmusic_int:    dc.l    0    *前回MIDI_INP1を実行したときのzmusic_intの値
  87. zpd_last_fn:    ds.b    54        *前回読み込んだファイルの名前
  88. header_buffer:    ds.b    8        *ファイルID用バッファ
  89. fm_tune_tbl:    dc.l    0        *FM音源周波数調整テーブル
  90. pcm_tune_tbl:    dc.l    0        *PCM音源周波数調整テーブル
  91. occupy_flag:    dc.b    0        *占有状態(0=FREE,1=占有されている)
  92. itpl_rate:    dc.b    0        *外部同期時の補間レート(1-15)    格納値はYM3802-R75書式
  93. errmes_lang:    dc.b    0        *メッセージ表示言語([0]:English,1:Japanese)
  94. external_applications:    dc.b    0    *外部アプリの常駐状況
  95.                     *d7:ZP -d,d6:ZP -j
  96.                     *対応ビット=1の時そのアプリケーションが
  97.                     *組み込まれている
  98. smf_end_flag:    dc.b    0        *SMF 転送終了フラグ
  99. rs232c_mode:    dc.b    0        *RS232C-MIDIのモード
  100.                     *d7=(0:通常,1:デュアル)
  101.                     *d0-d3:ボーレート時定数[3]
  102. perform_flg:    dc.b    0        *ZM_PLAY,ZM_CONT,ZM_STOPのファンクションが
  103.                     *実行されるたびに対応ビットが1に上書きされる。
  104.                     *d0:PLAY d1:CONT d2:STOP
  105.                     *d7:loop mode(0:normal 1:no loop/FUNC $59参照)
  106. zmsc_mode:    dc.b    3        *ZMUSIC動作モード(2:V2,[3]:V3)
  107.  
  108.         .even
  109. fm_vol_tbl:    dcb.b    16,$ff        *フェードアウト/イン用の音量ワーク
  110. ad_vol_tbl:    dcb.b    16,$ff
  111. m0_vol_tbl:    dcb.b    16,$ff
  112. m1_vol_tbl:    dcb.b    16,$ff
  113. mr0_vol_tbl:    dcb.b    16,$ff
  114. mr1_vol_tbl:    dcb.b    16,$ff
  115.  
  116. fd_wkl:        equ    8        *ワーク長
  117. fd_wkl_:    equ    3        *2の何乗か
  118. fd_spd2:    equ    0        *スピード実行ワーク(.w)
  119. fd_spd:        equ    2        *スピード値(.w)
  120. fd_lvlw:    equ    4        *フェーダーレベル(.w)
  121. fd_lvlb:    equ    5        *フェーダーレベル(.b)
  122. fd_dest:    equ    6        *目的値(.b)
  123. fd_mode:    equ    7        *フェーダーモード(.b)    (-1,+1,nn)
  124.  
  125. fcf_ch:            equ    0
  126. fcf_master:        equ    1
  127.  
  128. *以下spd,spd2,lvlw,lvlb系のワークの配置はzmsc2.hasの都合に合わせてある
  129.                     *マスターフェーダーパラメータ群
  130. mstfd_fm_spd2:    ds.w    1        *スピード実行ワーク(.w)
  131. mstfd_fm_spd:    ds.w    1        *スピード値(.w)
  132. mstfd_fm_lvlw:    ds.b    1        *フェーダーレベル(.w)
  133. mstfd_fm_lvlb:    ds.b    1        *フェーダーレベル(.b)
  134. mstfd_fm_dest:    ds.b    1        *目的値(.b)
  135. mstfd_fm_mode:    ds.b    1        *フェーダーモード(.b)
  136.  
  137. mstfd_ad_spd2:    ds.w    1        *スピード実行ワーク(.w)
  138. mstfd_ad_spd:    ds.w    1        *スピード値(.w)
  139. mstfd_ad_lvlw:    ds.b    1        *フェーダーレベル(.w)
  140. mstfd_ad_lvlb:    ds.b    1        *フェーダーレベル(.b)
  141. mstfd_ad_dest:    ds.b    1        *目的値(.b)
  142. mstfd_ad_mode:    ds.b    1        *フェーダーモード(.b)
  143.  
  144. mstfd_m0_spd2:    ds.w    1        *スピード実行ワーク(.w)
  145. mstfd_m0_spd:    ds.w    1        *スピード値(.w)
  146. mstfd_m0_lvlw:    ds.b    1        *フェーダーレベル(.w)
  147. mstfd_m0_lvlb:    ds.b    1        *フェーダーレベル(.b)
  148. mstfd_m0_dest:    ds.b    1        *目的値(.b)
  149. mstfd_m0_mode:    ds.b    1        *フェーダーモード(.b)
  150.  
  151. mstfd_m1_spd2:    ds.w    1        *スピード実行ワーク(.w)
  152. mstfd_m1_spd:    ds.w    1        *スピード値(.w)
  153. mstfd_m1_lvlw:    ds.b    1        *フェーダーレベル(.w)
  154. mstfd_m1_lvlb:    ds.b    1        *フェーダーレベル(.b)
  155. mstfd_m1_dest:    ds.b    1        *目的値(.b)
  156. mstfd_m1_mode:    ds.b    1        *フェーダーモード(.b)
  157.  
  158. mstfd_mr0_spd2:    ds.w    1        *スピード実行ワーク(.w)
  159. mstfd_mr0_spd:    ds.w    1        *スピード値(.w)
  160. mstfd_mr0_lvlw:    ds.b    1        *フェーダーレベル(.w)
  161. mstfd_mr0_lvlb:    ds.b    1        *フェーダーレベル(.b)
  162. mstfd_mr0_dest:    ds.b    1        *目的値(.b)
  163. mstfd_mr0_mode:    ds.b    1        *フェーダーモード(.b)
  164.  
  165. mstfd_mr1_spd2:    ds.w    1        *スピード実行ワーク(.w)
  166. mstfd_mr1_spd:    ds.w    1        *スピード値(.w)
  167. mstfd_mr1_lvlw:    ds.b    1        *フェーダーレベル(.w)
  168. mstfd_mr1_lvlb:    ds.b    1        *フェーダーレベル(.b)
  169. mstfd_mr1_dest:    ds.b    1        *目的値(.b)
  170. mstfd_mr1_mode:    ds.b    1        *フェーダーモード(.b)
  171.  
  172. ch_fm_fdp:    ds.b    fd_wkl*16    *チャンネルフェーダーパラメータ群
  173. ch_ad_fdp:    ds.b    fd_wkl*16    *(1ch:8byte構成*16ch分)
  174. ch_m0_fdp:    ds.b    fd_wkl*16
  175. ch_m1_fdp:    ds.b    fd_wkl*16
  176. ch_mr0_fdp:    ds.b    fd_wkl*16
  177. ch_mr1_fdp:    ds.b    fd_wkl*16
  178.  
  179. ch_fader_tbl:    ds.w    96    *チャンネルフェーダー
  180.                 *(フェード処理するチャンネル番号0-95が並ぶ)
  181.         dc.w    -1    *End code
  182. master_fader_tbl:        *マスターフェーダー
  183.                 *(フェード処理するデバイス番号*fd_wklが並ぶ)
  184.         ds.w    6    *0,8,16,24,32,40 
  185.         dc.w    -1    *End code
  186.  
  187. ch_mask_fm:    dc.w    0        *チャンネルフェーダービットワーク
  188. ch_mask_ad:    dc.w    0
  189. ch_mask_m0:    dc.w    0
  190. ch_mask_m1:    dc.w    0
  191. ch_mask_mr0:    dc.w    0
  192. ch_mask_mr1:    dc.w    0
  193.         .even
  194. agogik_work:        ds.b    __pmod_len    *音楽演奏用アゴーギクワーク
  195. agogik_work_se:        ds.b    __pmod_len    *効果音演奏用アゴーギクワーク
  196.         .even
  197. mpcm_vol_tbl:                    *MPCM用音量テーブル64=原音レベル
  198.     dc.w       0,   3,   6,   9,  12,  15,  18,  21
  199.     dc.w      24,  25,  26,  27,  28,  29,  30,  31
  200.     dc.w      32,  33,  34,  35,  36,  37,  38,  39
  201.     dc.w      40,  41,  42,  43,  44,  45,  46,  47
  202.     dc.w      48,  50,  52,  54,  56,  58,  60,  62
  203.     dc.w      64,  66,  68,  70,  72,  74,  76,  78
  204.     dc.w      80,  82,  84,  86,  88,  90,  92,  94
  205.     dc.w      96, 100, 104, 108, 112, 116, 120, 124
  206.     dc.w     128, 132, 136, 140, 144, 148, 152, 156
  207.     dc.w     160, 164, 168, 172, 176, 180, 184, 188
  208.     dc.w     192, 200, 208, 216, 224, 232, 240, 248
  209.     dc.w     256, 264, 272, 280, 288, 296, 304, 312
  210.     dc.w     320, 328, 336, 344, 352, 360, 368, 376
  211.     dc.w     384, 400, 416, 432, 448, 464, 480, 496
  212.     dc.w     512, 528, 544, 560, 576, 592, 608, 624
  213.     dc.w     640, 656, 672, 688, 704, 720, 736, 752
  214. nof_result:        equ    5
  215. _result_start:                *戻り値バッファ
  216. mask_track_result:    ds.l    1    *4*(trk_n_max+1) bytes
  217. mask_channel_result    ds.l    1    *4*(trk_n_max+1) bytes
  218. m_play_result:        ds.l    1    *4*(trk_n_max+1) bytes
  219. m_stop_result:        ds.l    1    *4*(trk_n_max+1) bytes
  220. m_cont_result:        ds.l    1    *4*(trk_n_max+1) bytes
  221.  
  222.                     *SMF再生関連ワーク
  223. smf_delta:    ds.l    1        *SMF デルタタイム
  224. smf_running:    ds.l    1        *SMFランニングステータスカウンタ
  225. smf_pointer:    ds.l    1        *SMF データポインタ
  226. smf_transfer:    ds.l    1        *SMF MIDI送信エントリ
  227. smf_mst_clk:    ds.l    1        *SMFマスタークロック
  228. smf_addr:    ds.l    1        *SMFの格納アドレス
  229.  
  230. fo_ch_fm:    ds.b    8        *フェードアウト/インのワーク
  231.         ds.b    8        *DUMMY
  232. fo_ch_ad:    ds.b    16        *d0:ch fader active flag    01
  233. fo_ch_m0:    ds.b    16        *d1:master fader active flag    02
  234. fo_ch_m1:    ds.b    16        *d5:master fader move flag    20
  235. fo_ch_mr0:    ds.b    16        *d6:ch fader move flag        40
  236. fo_ch_mr1:    ds.b    16        *d7:処理したかどうか        80
  237. work:
  238. pt_ptr:        ds.l    1        *play_trk_tblの指標    必ずwork=pt_ptr
  239. pt_ptr_se:    ds.l    1        *play_trk_tbl_seの指標
  240. cf    ds.b    8    *オペレータのコネクションテーブルビット    !
  241. ol1:    ds.b    8    *アウトプットレベル1            !
  242. ol2:    ds.b    8    *アウトプットレベル2            !
  243. ol3:    ds.b    8    *アウトプットレベル3            !
  244. ol4:    ds.b    8    *アウトプットレベル4            !
  245. opm_kon:    ds.b    8        *OPMレジスタ8番のワーク
  246. opm_nom:    ds.b    8        *オペレータマスク(OM)のNOT(&b11110000-&b11111111)
  247. _opm:        ds.b    256        *OPMのレジスタ・イメージ・ワーク
  248. opm_pmd:    dc.b    0
  249. opmreg:        equ    _opm-work
  250. AF:        equ    $20
  251.